perm filename LETTER.AW[LSP,JRA] blob
sn#096209 filedate 1974-04-08 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 \\M1BASL30\M2BASB30\M3NGR25\M4NGR20\F2\CSTANFORD UNIVERSITY
C00010 ENDMK
C⊗;
\\M1BASL30;\M2BASB30;\M3NGR25;\M4NGR20;\F2\CSTANFORD UNIVERSITY
\F3\CSTANFORD, CALIFORNIA 94305
\F4COMPUTER SCIENCE DEPARTMENT\←L\-R\/'7;\+R\→.\→S Telephone:
\←S\→.415-321-2300
\F1\CApril 8,1974
Mr. Norman A. Stanton, Executive Editor
Business and Professional Division
Addison-Wesley Publishing Co.
Reading, Mass. 01867
Dear Mr. Stanton:
\J
This cover letter is a bit long, but it is to introduce both the topic
and the approach. There is a common misunderstanding about LISP
and what its importance is in the Computer Science field. This misunderstanding
is mainly due to an aversion to publishing which seems to afflict those
involved with LISP ideas.
From 1963 through 1970 I had been involved in learning, programming,
and implementing various versions of LISP.
In 1970 I was offered an Assistant Professorship at UCLA in the Computer Science
Department. Soon after arriving there
it became apparent that what was needed was a means of taking intelligent,
but naive, students rapidly to the advanced topics in such a way that intuition and
continuity was maintained. Many technically excellent books were available
but none really gave sufficient insight to motivate the study of the
non-numerical techniques
or were broad enough to encompass much of the beauty in the field.
There is a premature fragmenting of the Computer Science
field into hardware, systems, and subfields of software. This trend is
particularly unnerving to those just beginning their studies.
Why commit your future to Computer Science when the Engineering Department
can teach you to build machines and anyone can learn to program?
I was therefore
interested in developing a course which would demonstrate that
Computer Science really is a separate discipline, not a subset
of Engineering or Mathematics, and certainly something more than
applications programming.
During 1970-1972 at UCLA I developed such a course based on LISP.
The last version of the UCLA course is the basis of this book.
The approach was quite successful. The course was followed in winter term by
two courses: semantics of languages, and compiler construction. In the
Spring term we formed an undergraduate seminar on extensible languages.
With their background in LISP, the students were quite able to do graduate level
work.
I believe that there is no other language which will suffice for such a
treatment.
Since then, I taught an expanded version as a Reading and Research course
here at Stanford; last winter I used a preliminary version of the current manuscript
in a graduate seminar at UC Santa Cruz; and the latest revision is
currently being used at Stanford in the Symbolic Computation course.
The material can easily accommodate either undergraduate or graduate
students.
The final book will be self-contained and cover much of current interest in
the field. The point is not to be all-inclusive, rather that inclusion
is a natural consequence of approaching LISP in this manner.
The reason that LISP is not more prominent in Computer Science curricula
is the lack of a good book covering the fundamental
properties of LISP. There are programming
manuals for LISP but the programming aspects of this language are the
least important. John McCarthy's ideas permeate the field and LISP
is the natural context in which to introduce them.
The basic structure of the book is solid. Still to come are chapters
on implications
of LISP to design and implementation of other languages, on language-oriented
machine design, and applications and extensions of LISP to Artificial Intelligence.
These are really frosting on the cake.
The sections on graphical notations have been totally rewritten
since the enclosed manuscript was prepared. Graphical languages
are very important and should find new emphasis in Automatic Programming studies.
The style of the book is informal. It clearly is too informal in places,
still showing its ancestry as lecture notes.
However, there is no reason to be dull when dealing
with a subject as dynamic as Computer Science.
I try to appeal to intuition as
much as possible. Though the field is maturing it has not reached a stage, like
some branches of pure mathematics, where intuition must be replaced by formalism.
Perhaps I should say a bit about the manuscript itself. It is machine-generated;
a file containing text, formatting and font information is compiled by a
program named PUB. This program builds the formatted text, cross references,
headings, footnotes, the table of contents and the index. The resulting
file is processed by a modified LDX machine. This process makes text production
almost painless.
I hope I have clearly stated my case for the necessity for such a book. If
I can be of further assistance please let me know.
\.
\←L\→S\←R\-L\/'2;\+L\→L
Yours sincerely,
John R. Allen
Research Associate
Computer Science Dept
Artificial Intelligence Labs
\←S\→L
JRA:pdp10